<?php
header("content-type:text/html;charset=utf-8");
?>
<html lang="zh-CN">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
	<title>我的工作 -- PHPExcel</title>
	
	<!-- Bootstrap -->
	<link href="/public/css/bootstrap.min.css" rel="stylesheet">
	<link rel="stylesheet" type="text/css" href="/public/css/main.css"/>
	
	<!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询（media queries）功能 -->
	<!-- 警告：通过 file:// 协议（就是直接将 html 页面拖拽到浏览器中）访问页面时 Respond.js 不起作用 -->
	<!--[if lt IE 9]>
	<script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
	<script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
	<![endif]-->
</head>
<body><br />
<div class="container">
	<ul class="nav nav-pills">
	    <li><a class="btn btn-default" href="index_read.php">PHPExcel读取</a></li>
	   	<li><a href="index_write.php">PHPExcel写入</a></li>
	</ul>
	<hr />
	<div class="tab-content min_hei">
		<!--PHPExcel读取-->
	    <div class="tab-pane active" id="read">
	    	<h4>PHPExcel读取：把Excel里的数据读取出来（这里只做到读取出来展示一下，并没有做写入数据库的操作）</h4>
	    	<h4>先上传Excel文件，上传成功后展示读出来的数据（只能上传.xls和.xlsx文件，不大于8M）</h4>
	    	
<form action="#" method="post" enctype="multipart/form-data">
	请选择要上传的文件：<input type="file" style="display: inline;" name="upfile" value="" />
	<input type="submit" class="btn btn-info" value="上传" />
</form>
<?php
if($_FILES){
	echo"<pre>";
	echo "文件上传信息：<br />";
	print_r($_FILES);
	echo"</pre>";
}

$arr=$_FILES['upfile'];

if($arr!=''){
	if($arr['error']==0){
		$extarr=array(".xls",".xlsx");
		$ext=substr($arr['name'],strrpos($arr['name'],"."));
		if(in_array($ext,$extarr)){
			if($arr['size']<800000){
//				$filename=date("Y-m-d H_i_s")." _ ".mt_rand(100000, 999999).$ext;
				$filename = 'up_excel'.$ext;
//				$path="./up_file/$filename";
				$path = "$filename";
				$re=move_uploaded_file($arr['tmp_name'], $path);
				if($re){
					echo "文件上传成功！";
				}
			}else{
				echo"文件过大！";
			};
		}else{
			echo"不允许上传的文件格式";
		};
	}else{
		echo"文件上传错误！";
	};
}

if($filename){
	include './Classes/PHPExcel/IOFactory.php';

	$inputFileName = $filename;
	date_default_timezone_set('PRC');
	// 读取excel文件
	try {
		$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
		$objReader = PHPExcel_IOFactory::createReader($inputFileType);
		$objPHPExcel = $objReader->load($inputFileName);
	} catch(Exception $e) {
		die('加载文件发生错误："'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
	}
	
	// 确定要读取的sheet，什么是sheet，看excel的右下角，真的不懂去百度吧
	$sheet = $objPHPExcel->getSheet(0);
	$highestRow = $sheet->getHighestRow();
	$highestColumn = $sheet->getHighestColumn();
	
	// 获取一行的数据
	for ($row = 1; $row <= $highestRow; $row++){
		// Read a row of data into an array
		$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
		//这里得到的rowData都是一行的数据，得到数据后自行处理，我们这里只打出来看看效果
	//	var_dump($rowData);
		$arrData[] = $rowData[0]; 
	//	echo "<br>";
	}
	echo "<pre>";
	echo "从上传文件里读出的数据如下：<br />";
	print_r($arrData);
	echo "</pre>";
}
?>
	    </div>
	    
	</div>
</div>
<!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery，所以必须放在前边) -->
<script type="text/javascript" src="/public/js/jquery-3.3.1.min.js"></script>
<!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
<script type="text/javascript" src="/public/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/public/js/footer.js"></script>
</body>
</html>